//
// Created by ChaoDONG on 2021-03-17.
//

/* pound.c -- defines a function with an argument */
/* pound.c -- 定义一个带一个参数的函数　*/

#include <stdio.h>

void pound(int n); /* ANSI函数原型声明 */
/* 声明参数就创建了被称为形式参数（formal parameter，简称形参）的变量。
 * 该例中，形式参数是 int 类型的变量 n。 */

/* 形参是变量，实参是函数调用提供的值，
 * 实参被赋给相应的形参。 */


int main(void){

    int times = 5;

    char ch = '!'; /* ASCII码是33 */

    float f = 6.0f;

    pound(times); /* int类型的参数 */
    /* 函数调用传递的值为实际参数（actual argument），简称实参。
     * 所以，函数调用pound(10)把实际参数10传递给函数，
     * 然后该函数把10赋给形式参数（变量n）。 */

    pound(ch); /* 和pound((int)ch);相同 */

    pound(f); /* 和pound((int)f);相同 */

    return 0;
}

void pound(int n) /* ANSI风格函数头 */
{  /* 函数原型告诉编译器pound(),
 * 表明该函数接受一个int类型的参数 */

    while (n-- > 0) {
        printf("#");
    }

    printf("\n");
}